import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Es la vida del StarFox, se encarga de modificar imágenes en el mundo y de detener la aplicación cuando la vida llega a cero
 * 
 * @author Luis Guajardo Olvera
 * @author Daniel Romero Martí
 */
public class Vida extends Actor
{
    private GreenfootImage [] arreglo;
    private int vida;

    /**
     * Vida - Constructor de la clase Vida
     */
    public Vida()
    {
        arreglo= new GreenfootImage[10];
        vida = 9;
        for(int i=0;i<10;i++)
            arreglo[i]= new GreenfootImage("vida"+i+".png");
    }

    /**
     * addedToWorld - Método que sirve para ser sobreescrito cuando el objeto se agrega el mundo
     */
    public void addedToWorld()
    {
        setImage(arreglo[0]);
    } 

    /**
     * diminuye - Disminuye la vida y valida que no sea menor a cero, en caso de que lo sea
     * el juego se detiene.
     */
    public void disminuye(int unaCantidad)
    {
        if(vida-unaCantidad<=0)
        { 
            vida = 0;
            setImage(arreglo[vida]);
            World mundo2 = getWorld();
            java.util.List naves = mundo2.getObjects(StarFox.class);
            StarFox nave = (StarFox)naves.get(0);
            nave.agregaRecords();
            Inicio mundo = (Inicio)getWorld();
            mundo.detieneCancion();
            GameOver go = new GameOver();
            Greenfoot.setWorld(go);
            Greenfoot.delay(100);
            Greenfoot.setWorld(new Inicio());
        }
        else
        {  vida = vida - unaCantidad;
            setImage(arreglo[vida]);
        }

    }
}
